Determining an angle between a tow vehicle and a trailer

ABSTRACT

The angle of a trailer with respect to a tow vehicle is an important parameter to the stability of the vehicle and trailer. A tow vehicle pulling a trailer in a straight line is generally more stable than when the vehicle is turning. While turning, the angle between the tow vehicle and the trailer is not a straight line but is another angle depending on how sharply the tow vehicle is turning. To safely operate a vehicle towing a trailer, for a given steering input and speed, there is a maximum angle between the tow vehicle and trailer whereby exceeding the angle causes instability and may cause the trailer or tow vehicle to roll over or jackknife. Accordingly, the angle between the trailer and tow vehicle must be determined to ensure the vehicle and trailer will continue to be in control.

TECHNICAL FIELD

This document relates to determining the angle between a tow vehicle and a trailer being towed.

BACKGROUND

Many different types of vehicles are used to tow a variety of different types of trailers. For example, commercial semi-trailer trucks, also known as semis, tractor-trailers, big rigs, eighteen-wheelers, or transports include a tractor towing one or more trailers. Other non-commercial vehicles such as pick-up trucks, motorhomes, recreational vehicles, and sport-utility vehicles also tow trailers, boats, campers, and other types of trailers. In each of the above examples, the stability of the trailer and tow vehicle depends on multiple factors such as the speed of the trailer and tow vehicle, the weather conditions such as wind and rain, the length of trailer, the number of axles, the angle between tow vehicle and the trailer, and others. New techniques are needed to measure the angle between the trailer and tow vehicle that are reliable, accurate, have a long service life, and are inexpensive.

SUMMARY

Disclosed are devices, systems and methods for determining an angle such as the angle that a trailer is towed behind a vehicle. In one aspect, a system for determining a trailer angle between a trailer and a vehicle is disclosed. The system includes one or more ultrasonic sensors, wherein each ultrasonic sensor is mountable to the vehicle to determine a distance from the ultrasonic sensor to a front-end of a trailer attached to the vehicle. The system further includes an ultrasonic control unit configured to receive the distance from each of the one or more ultrasonic sensors via a communications interface, wherein the ultrasonic control unit determines one or more angles, each angle corresponding to a distance received from the one or more ultrasonic sensors, wherein each angle is between the vehicle and the trailer, and wherein the ultrasonic control unit determines the trailer angle from the one or more angles.

In another aspect, a method for determining a trailer angle between a trailer and a vehicle is disclosed. The method includes receiving, from each of one or more ultrasonic sensors attached to the vehicle, information about a distance between each ultrasonic sensor and a front-end of the trailer attached to the vehicle, and determining one or more angles, each angle corresponding to the information about the distance received from the one or more ultrasonic sensors, wherein each angle is an estimate of alignment between the vehicle and the trailer, and wherein a trailer angle is determined from the one or more angles.

In another aspect, a non-transitory computer readable medium is disclosed. The non-transitory computer readable medium stores executable instructions for determining a trailer angle between a trailer and a vehicle that when executed by at least one processor perform at least the following: receiving, from each of one or more ultrasonic sensors, a distance between each ultrasonic sensor and a front-end of the trailer attached to the vehicle, and determining one or more angles, each angle corresponding to a distance received from the one or more ultrasonic sensors, wherein each angle is between the vehicle and the trailer, and wherein a trailer angle is determined from the one or more angles.

The following features can be included in various combinations. A first angle corresponding to a first ultrasonic sensor can be determined based on one or more geometrical relationships between a position of the first ultrasonic sensor and the front-end of the trailer. The trailer angle can be determined as an average angle of the one or more angles. The average angle can be weighted based on a standard deviation for distance values received at the ultrasonic control unit from each of the one or more ultrasonic sensors. The ultrasonic control unit can determine an error interval and a confidence level based on the standard deviation for distance values received at the ultrasonic control unit from each of the one or more ultrasonic sensors. The first angle can be determined from: a first neutral distance between the first ultrasonic sensor and the front-end of the trailer when the trailer is in line with the vehicle, a first angled distance when the trailer is angled with respect to the vehicle, and/or a first offset distance between the center of the first ultrasonic sensor and the center of the tractor. The first neutral distance can be determined when a steering angle of the vehicle is about zero degrees and the vehicle is travelling at about 10 kilometers per hour or more. The ultrasonic control unit can include at least one processor, at least one memory storing executable instructions that when executed by the at least one processor perform at least the following determining the first angle corresponding to a first ultrasonic sensor as: A₁=arctangent ((D₁₋₁−D₁₋₂)/Dis1), wherein A₁ is the first angle between the vehicle and the trailer, wherein D₁₋₁ is a first neutral distance between the first ultrasonic sensor and the front-end of the trailer, wherein the first neutral distance is determined when the trailer is in line with the vehicle, wherein D₁₋₂ is a first angled distance between the first ultrasonic sensor and the front-end of the trailer, wherein the first angled distance is determined when the trailer is angled with respect to the vehicle, and wherein Dis1 is a first offset distance, wherein the first offset distance is between the center of the first ultrasonic sensor and the center of the vehicle.

The above and other aspects and features of the disclosed technology are described in greater detail in the drawings, the description and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an example of an angle measurement system installed on a tractor, in accordance with some example embodiments;

FIG. 2 depicts an example of an arrangement of ultrasonic sensors for measuring an angle between a tow vehicle and a trailer, in accordance with some example embodiments;

FIG. 3A depicts an illustration showing a trailer at an angle to a tow vehicle that is not a straight line, and various distances, in accordance with some example embodiments;

FIG. 3B depicts another illustration showing a trailer at an angle to a tow vehicle, in accordance with some example embodiments;

FIG. 4 depicts an example of an apparatus, in accordance with some example embodiments;

FIG. 5 depicts an example of an apparatus where two sensors are not operational, in accordance with some example embodiments;

FIG. 6 depicts an example of an apparatus where four sensors are not operational, in accordance with some example embodiments;

FIG. 7 depicts an example of a process, in accordance with some example embodiments; and

FIG. 8 depicts an example of an apparatus, in accordance with some example embodiments.

DETAILED DESCRIPTION

The angle of a trailer with respect to a tow vehicle is an important parameter to the stability of the vehicle and trailer. A tow vehicle pulling a trailer in a straight line is generally more stable than when the vehicle is turning. While turning, the angle between the tow vehicle and the trailer is not a straight line but is another angle depending on how sharply the tow vehicle is turning. To safely operate a vehicle towing a trailer, for a given steering input and speed, there is a maximum angle between the tow vehicle and trailer whereby exceeding the angle causes instability and may cause the trailer or tow vehicle to roll over or jackknife. Accordingly, the angle between the trailer and tow vehicle may be determined to ensure the vehicle and trailer will continue to be in control. A trailer angle sensor system should provide high accuracy and redundancy to ensure the system is always operable even when one or more sensors are inoperable. This calculation becomes important when the vehicle is an autonomous vehicle and therefore lacks the benefit of judgment of a human driver regarding stability of the combination of the vehicle and the trailer when driving around curves.

Current trailer angle sensors have several limitations including: 1) Current trailer angle sensors need to be installed in trailers or at least have to be fixed to the trailer in order to determine the relative motion between trailer and tractor. This means the sensor needs to be reinstalled or recalibrated each time after changing the trailer; 2) Current techniques offer no redundancy since they use Hall effect devices or resistive position sensors; 3) The lifecycle of current trailer angle sensors is limited because they are typically mounted near the 5^(th) wheel which is often a harsh environment due to vibration, exposure to the elements, and chemicals such as lubricating grease.

FIG. 1 depicts an example of an angle measurement system installed on a tow vehicle (also referred to herein as a “tractor”), in accordance with some example embodiments. Tractor 110 is physically coupled to trailer 120. A side-view is shown at 100A, a top-view at 100B, a front-view at 100C, and a back-view at 100D. The tractor 110 includes a plurality of ultrasonic sensors 130 mounted to the back of the tractor with the ultrasonic beams directed to the front surface of the trailer. Each of the ultrasonic sensors determines or helps to determine the distance from the ultrasonic sensor to the front of the trailer 120. Using the distances, ultrasonic control unit 125 determines the angle between the tractor and the trailer. In FIG. 1, the tractor and trailer lie in a straight line. When the tractor trailer is turning, the tractor and trailer may no longer be in line and there would be an angle between the tractor and trailer (also referred to as the “trailer angle”). UCU 125 may include a processor and memory, and various interfaces such as one or more communications interfaces.

FIG. 2 depicts an example of an arrangement of ultrasonic sensors for measuring an angle between a tow vehicle and a trailer. In some example embodiments, the ultrasonic sensors 130 may be arranged as shown at 200. The sensor arrangement shown is an “inverted V” arrangement. For example, on the back of tractor 110 in FIG. 1, the five ultrasonic sensors 131-135 may be mounted in the “inverted V” configuration with ultrasonic sensor 133 highest above the roadway in the center (left-to-right) of the tractor, and ultrasonic sensors 131 and 135 mounted on the back of the tractor closest to the roadway compared to ultrasonic sensors 132-134. Although five sensors are shown at 200, a greater or smaller number of sensors may be used. Although the ultrasonic sensors 131-135 are shown in an “inverted V” configuration, the sensors may be attached in a different configuration, such as a straight line (flat or tilted), a “W” or “inverted W” configuration or in another pattern. Organizing ultrasonic sensors in a two-dimensional pattern in a plane that is perpendicular to the axis between the tractor and the trailer may lead to a more robust determination of the trailer angle. For example, placing the ultrasonic sensors in a pattern can avoid objects between the tow vehicle and trailer and can avoid surfaces that are not normal to the ultrasonic sensor ultrasound when the trailer is pulled in a straight line. These non-perpendicular surfaces may not be suitable for ultrasonic distance determination. For example, an object with an angled surface (non-perpendicular to illuminating ultrasound) attached to the trailer may be at an obtuse angle to an ultrasonic sensor at a range of trailer angles causing the distance determined by the ultrasonic sensor to be inaccurate or preventing a distance from being determined due to little or no reflected ultrasonic signal from the angled object. In some example embodiments, ultrasonic sensor may be oriented to illuminate the trailer with ultrasound at a perpendicular angle when the trailer angle is not zero degrees. By doing so, some ultrasonic sensors may provide better distance determinations at different trailer angles. In some example embodiments, the ultrasonic sensors may provide timing information such as a transmit time and a reception time from which a transit time to from the sensor to the trailer can be determined, or some ultrasonic sensors may determine the transit time. Form the transit time, the distance can be determined based on the speed of the ultrasound.

At 210 is an example illustration of a top-view of a tractor trailer showing ultrasonic sensors 131-135. Also shown are distances 201-205 from each ultrasonic sensor to the front of the trailer 120. Distances 201-205 may be referred to “neutral distances” because the trailer is in a straight line with the tow vehicle. Each ultrasonic sensor determines information indicative of the distance, or the distance between the sensor to the front of the trailer. As noted above, information indicative of the distance includes a transit time for the ultrasound to propagate to the trailer (one way or round trip) or timing information such as time stamps from which the transit time can be determined. In the following, “distance” is used, but as noted above time information can be provided by the sensor instead of distance. For example, ultrasonic sensor 131 determines that the trailer is distance 201 from ultrasonic sensor 131. Ultrasonic sensor 132 determines that the trailer is distance 202 from ultrasonic sensor 132. Ultrasonic sensor 133 determines that the trailer is distance 203 from ultrasonic sensor 133. Ultrasonic sensor 134 determines that the trailer is distance 204 from ultrasonic sensor 134, and ultrasonic sensor 135 determines that the trailer is distance 205 from ultrasonic sensor 135. With the tractor 110 and trailer 120 in a straight line as shown at 210, the distances 201-205 are approximately equal. In some embodiments, a fairing, wind deflector, or equipment such as cooling equipment for the trailer 120 may cause the distances 201-205 to not be equal when the trailer and tractor lie in a straight line. The non-equal distances can be corrected in the UCU. The distances are provided to the UCU. The UCU may control the ultrasonic sensors and may receive health and status information from the ultrasonic sensors.

FIG. 3A depicts an example illustration showing an example of a trailer at an angle to a tow vehicle that is not a straight line, and various distances. At 310 is an illustration of a tractor 110 with a trailer 120 at an angle, trailer angle 350, to the trailer with ultrasonic sensors 131-135 attached to tractor 110. Each ultrasonic sensor determines the distance between the sensor to the front of the trailer as described above. In the example of FIG. 3A at 310, distance 301 is greater that distance 302, distance 302 is greater than distance 303, distance 303 is greater than distance 304, distance 304 is greater than distance 305. Distances 201-205 may be referred to “angled distances” because the trailer is not in a straight line with the tow vehicle. The distances are provided by ultrasonic sensors 131-135 to the UCU 125 and are used to determine the angle between the tractor 110 and trailer 120.

Shown at 320 is an illustration depicting distances 311-314 between the center of the center ultrasonic sensor 133 and the other ultrasonic sensors 131, 132, 134, and 135. Distances 311-314 are used in determining the angle between tractor 110 and trailer 120. Although distances 311-314 are shown from the center of one sensor to the center of another, other distances related to the spacing of the ultrasonic sensors may be used instead.

The UCU coordinates distance measuring by the sensors and determines the trailer angle based on the distances from the sensors. Coordination may include turning-on the sensors 131-135 individually at different times to prevent interference that could occur if multiple sensors were operating at the same time. In some example embodiments, the ultrasonic sensors may include a signature such as a pseudo-random noise (PN) code or other code, or the different sensors may modulate the emitted ultrasound to be orthogonal to other sensors. The UCU may also receive information including vehicle speed information, steering angle information, and the UCU may make zero clearing based on adapted control algorithm. The trailer angle may be sent to a vehicle dynamics controller, electronic stability controller (ESC), or vehicle stability controller (VSC) of the tow vehicle.

FIG. 3B depicts another illustration showing a trailer at an angle to a tow vehicle, in accordance with some example embodiments. FIG. 3B shows distances and angles related to determining the trailer angle and is further described below with respect to Equation 1.

FIG. 4 at 400 depicts an apparatus, in accordance with some example embodiments. FIG. 4 includes ultrasonic sensors 131-135, ultrasonic control unit (UCU) 125, vehicle speed sensor 410, steering angle sensor 420, and vehicle dynamics controller 430.

Ultrasonic sensors 131-135 include a communications interface to communicate with UCU 125. For example, commands such as powering-up or down each ultrasonic sensor, commanding each sensor to take a distance measurement, commands related to averaging distance values at each sensor, and others may be sent from UCU 125 to the ultrasonic sensors 131-135 individually or together. Data may be sent from each ultrasonic sensor to the UCU such as distance data, and sensor status and health information. UCU 125 may perform a process to determine the trailer angle. The UCU may receive vehicle speed information from the vehicle speed sensor 410 and/or steering angle information from steering angle sensor 420 via a dedicated or standard interface such as an on-board diagnostics (OBD) or another interface. The UCU may interface to a vehicle dynamics controller such as ESC or VSC or other stability management device in the vehicle.

FIG. 5 depicts an example of an apparatus where two sensors are not operational, in accordance with some example embodiments. In the example of FIG. 5, ultrasonic sensors 132A and 134A are not operational due to one or more types of failures. The UCU may use data from the remaining sensors 131, 133, and 135 to determine the trailer angle. Use of fewer ultrasonic sensors (3 instead of 5) may cause a reduction in the accuracy or resolution of the trailer angle, but may be sufficient to operate the tractor trailer safely. FIG. 5 is an illustrative example where two ultrasonic sensors are inoperable. Other combinations of sensors may fail resulting in similar reduced performance as well.

FIG. 6 depicts an example of an apparatus where four sensors are not operational, in accordance with some example embodiments. In the example of FIG. 6, ultrasonic sensors 132A. 133A, 134A, and 135A are not operational due to a one or more types of failures. The UCU may use data from the remaining sensor 131 to determine the trailer angle. Use of fewer ultrasonic sensors (1 instead of 5) may cause a reduction in the accuracy or resolution of the trailer angle, but may be sufficient to operate the tractor trailer safely. FIG. 6 is an illustrative example where four ultrasonic sensors are inoperable. Other combinations of sensors may fail resulting in reduced performance as well.

FIG. 7 depicts a process 700, in accordance with some example embodiments. The trailer angle may be determined using the process 700.

At 710, the process includes determining, by the ultrasonic sensors 131-135, the distances 201-205 to the trailer when trailer is in a neutral position (the trailer is in line with tractor). These values may be sent to the UCU and stored in memory such as a nonvolatile memory in the UCU. The neutral position may be determined when the steering angle is near zero and the tractor trailer velocity is greater than about 10 km/h. The distance values may be averaged or filtered over a period of time such as 1-5 seconds (or another time period). These stored values may be used as long as the tractor is attached to the same trailer. If a new trailer is attached to the tractor or the trailer is removed and then re-attached, the neutral distances may be determined again.

At 720, the trailer angle may be determined based the current distances 301-305, the geometrical relationships between the sensors and the tractor and trailer, and the distances determined at 710. As the tractor trailer travels, the ultrasonic sensors 131-135 periodically, intermittently, or continuously determine the distances between the tractor and trailer. When the tractor turns, the determined distances change. For example, when the FIG. 3A tractor 110 and trailer 120 turn left (as viewed from the top), distance 301 is greatest, followed by 302, 303, 304, and 305 which is the smallest distance. If the tractor were turning right, distance 305 would be greatest 301 the smallest, and so on. In some example embodiments, angles may be determined for ultrasonic sensors 131, 132, 134, and 135 but not sensor 133 which may be used for initial angle determination.

Referring to FIGS. 3A and 3B, the following equation may be used to determine the trailer angle at a first ultrasonic sensor: A ₁=arctan((D ₁₋₁ −D ₁₋₂)/Dis1)  Equation 1 where A₁ refers to the trailer angle 350B in FIG. 3B at ultrasonic sensor 131, distance D₁₋₁ is distance 301, distance D₁₋₂ is distance 302, distance D₁₋₁−D₁₋₂ distance 330, and distance Dis1 is distance 311. By symmetry angles 350A and 350B have the same value which is equal to the trailer angle. A similar equation may be expressed for angles at additional ultrasonic sensors as A₂, A₃, and so on where A₂ refers to the trailer angle at ultrasonic sensor 132, and so on, D₂₋₁ is distance 202, and so on, D₂₋₂ s distance 302, and so on, and Dis2 is distance 312, Dis4 is distance 313, and Dis5 is distance 314, and so on.

At 730, for each angle value (A₁, A₂, A₄, and A₅) a standard deviation SD₁, SD₂, SD₃, SD₅, may be determined. The noise from each ultrasonic sensor may be used to determine the standard deviation.

An average value may be determined for 100 angle determinations of A₁ from:

$\begin{matrix} {\underset{─}{A_{1}} = \frac{{A\; 1_{1}} + {A\; 1_{2}} + \ldots + {A\; 1_{100}}}{100}} & {{Equation}\mspace{14mu} 2} \end{matrix}$

The standard deviation may then be expressed as:

$\begin{matrix} {{SD}_{1} = \sqrt{\frac{\left( {{A\; 1_{1}} - \underset{─}{A\; 1}} \right)^{2} + \ldots + \left( {{A\; 1_{100}} - \underset{─}{A\; 1}} \right)^{2}}{100}}} & {{Equation}\mspace{14mu} 3} \end{matrix}$

At 740, a weighting of the determined angle values from the different ultrasonic sensors based on their standard deviations may be expressed as: W ₁=1−SD ₁/(SD ₁ +SD ₂ +SD ₄ +SD ₅) W ₂=1−W ₁ −SD ₂/(SD ₂ +SD ₄ +SD ₅) W ₄=1−W ₁ −W ₂ −SD ₄/(SD ₄ +SD ₅) W ₅=1−W ₁ −W ₂ −W ₄  Equations 4

Because the back of the tractor and the front of the trailer are structural and essentially rigid, in a perfect world without noise and imperfections, angles A₁, A₂, A₄, and A₅ would have the same value, but because of noise and imperfections they may differ in average and the standard deviation of each is a measure of the “noisiness” of each.

At 760, a weighted trailer angle may be expressed as: A _(O) =W ₁ *A ₁ +W ₂ *A ₂ +W ₄ *A ₄ +W ₅ *A ₅  Equation 5

At 770, an error and confidence level of the weighted trailer angle may be expressed as: Q _(Error) =W ₁ *SD ₁ +W ₂ *SD ₂ +W ₄ *SD ₄ +W ₅ *SD ₅  Equation 7 A _(CL)=[A _(O) −S _(Error) ,A _(O) +A _(Error)]  Equation 7

In some example embodiments, zero detection of the trailer angle may be performed. To begin zero detection, an error between the last angle output and current angle value may be 5 degrees or larger (or another value such as 4 degrees). Ultrasonic sensor 133 may be used as an initial reference of a zero angle for the other ultrasonic sensors. During the zero detection, each angle may be calculated using the following formulas: Q ₁=arctan((D ₁₋₂ −D ₃₋₁)/Dis1) A ₂=arctan((D ₂₋₂ −D ₃₋₁)/Dis2) A ₄=arctan((D ₄₋₂ −D ₃₋₁)/Dis4) A ₅=arctan((D ₅₋₂ −D ₃₋₁)/Dis5),  Equations 8 where D₁₋₂, D₂₋₂, D₄₋₂, D₅₋₂ are the current distance measurements of sensors 131, 132, 134, and 135, respectively. Sensor 133 may be mounted in the middle of the tractor as shown in FIGS. 3A and 3B. The relative movement of the trailer and/or trailer angle will not influence, or will negligibly influence, the distance measured by sensor 133. Accordingly, sensor 133 may be used as a reference for the system and to compare to the distances from sensors 131, 132, 134, and 135.

In some example embodiments, a process 700 may be performed to determine a trailer angle between a trailer and a vehicle. At 720, the process includes receiving, from each of one or more ultrasonic sensors, a distance between each ultrasonic sensor and a front-end of the trailer attached to the vehicle. At 720, the process includes determining one or more angles, each angle corresponding to a distance received from the one or more ultrasonic sensors, wherein each angle is between the vehicle and the trailer, and wherein a trailer angle is determined from the one or more angles. The process may further include features described above in various combinations.

FIG. 8 depicts an example of an apparatus 800 that can be used to implement some of the techniques described in the present document. For example, the hardware platform 800 may implement the process 700, or other processes described above, and/or may implement the various modules described herein. The hardware platform 800 may include a processor 802 that can execute code to implement a method. The hardware platform 800 may include a memory 804 that may be used to store processor-executable code and/or store data. The hardware platform 800 may further include a communication interface 806. For example, the communication interface 806 may implement one or more wired or wireless communication protocols (Ethernet, LTE, Wi-Fi, Bluetooth, and so on).

Implementations of the subject matter and the functional operations described in this patent document can be implemented in various systems, semiconductor devices, ultrasonic devices, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of aspects of the subject matter described in this specification can be implemented as one or more computer program products, e.g., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing unit” or “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.

A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random-access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

While this patent document contains many specifics, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.

Only a few implementations and examples are described, and other implementations, enhancements and variations can be made based on what is described and illustrated in this patent document. 

What is claimed is:
 1. A system, comprising: one or more ultrasonic sensors, wherein each ultrasonic sensor is mountable to a vehicle to determine a distance from the ultrasonic sensor to a front-end of a trailer attached to the vehicle, wherein the one or more ultrasonic sensors are arranged in a two-dimensional pattern in a plane that is perpendicular to an axis between the vehicle and the trailer; and an ultrasonic control unit configured to receive the distance from each of the one or more ultrasonic sensors via a communications interface, wherein the ultrasonic control unit determines one or more angles, each angle corresponding to a distance received from the one or more ultrasonic sensors, wherein each angle is between the vehicle and the trailer, and wherein the ultrasonic control unit determines the trailer angle from the one or more angles, wherein a first angle corresponding to a first ultrasonic sensor is determined based on one or more geometrical relationships between a position of the first ultrasonic sensor and the front-end of the trailer, wherein the first angle is determined from: a first neutral distance between the first ultrasonic sensor and the front-end of the trailer when the trailer is in line with the vehicle, a first angled distance when the trailer is angled with respect to the vehicle, and a first offset distance between the center of the first ultrasonic sensor and the center of the vehicle, wherein the first neutral distance is determined when a steering angle of the vehicle is about zero degrees and the vehicle is travelling at about 10 kilometers per hour or more.
 2. The system of claim 1, wherein the first neutral distance is averaged or filtered over a period of time.
 3. The system of claim 2, wherein the one or more ultrasonic sensors comprise an ultrasonic sensor oriented to illuminate the front-end of the trailer at a perpendicular angle when the trailer angle is not zero degrees.
 4. The system of claim 2, wherein the ultrasonic control unit comprises: at least one processor; and at least one memory storing executable instructions that when executed by the at least one processor perform at least: determining the first angle corresponding to the first ultrasonic sensor as: A1=arctangent((D1-1−D1-2)/Dis1), wherein A1 is the first angle between the vehicle and the trailer, wherein D1-1 is a first neutral distance between the first ultrasonic sensor and the frontend of the trailer, wherein the first neutral distance is determined when the trailer is in line with the vehicle, wherein D1-2 is a first angled distance between the first ultrasonic sensor and the frontend of the trailer, wherein the first angled distance is determined when the trailer is angled with respect to the vehicle, and wherein Dis1 is a first offset distance, wherein the first offset distance is between the center of the first ultrasonic sensor and the center of the vehicle.
 5. The system of claim 1, wherein the trailer angle is determined as an average angle of the one or more angles.
 6. The system of claim 5, wherein the average angle is weighted based on a standard deviation for distance values received at the ultrasonic control unit from each of the one or more ultrasonic sensors.
 7. The system of claim 6, wherein the ultrasonic control unit determines an error interval and a confidence level based on the standard deviation for distance values received at the ultrasonic control unit from each of the one or more ultrasonic sensors.
 8. A method, comprising: receiving, from each of one or more ultrasonic sensors attached to the vehicle, information about a distance between each ultrasonic sensor and a front-end of the trailer attached to the vehicle; and determining one or more angles, each angle corresponding to the information about the distance received from the one or more ultrasonic sensors, wherein each angle is an estimate of alignment between the vehicle and the trailer, and wherein a trailer angle is determined from the one or more angles, wherein a first angle corresponding to a first ultrasonic sensor is determined based on one or more geometrical relationships between a position of the first ultrasonic sensor and the front-end of the trailer, and further wherein the first angle is determined from: a first neutral distance between the first ultrasonic sensor and the front-end of the trailer when the trailer is in line with the vehicle; a first angled distance when the trailer is angled with respect to the vehicle; and a first offset distance between the center of the first ultrasonic sensor and the center of the vehicle, the first neutral distance determined when a steering angle of the vehicle is about zero degrees and the vehicle is travelling at about 10 kilometers per hour or more.
 9. The method of claim 8, wherein the first neutral distance is averaged or filtered over a period of time.
 10. The method of claim 9, further comprising: determining the first angle corresponding to the first ultrasonic sensor as: A1=arctangent((D1-1−D1-2)/Dis1), wherein A1 is the first angle between the vehicle and the trailer, wherein D1-1 is a first neutral distance between the first ultrasonic sensor and the frontend of the trailer, wherein the first neutral distance is determined when the trailer is in line with the vehicle, wherein D1-2 is a first angled distance between the first ultrasonic sensor and the frontend of the trailer, wherein the first angled distance is determined when the trailer is angled with respect to the vehicle, and wherein Dis1 is the first offset distance, and wherein the first offset distance is between the center of the first ultrasonic sensor and the center of the vehicle.
 11. The method of claim 8, wherein the trailer angle is determined as an average angle of the one or more angles.
 12. The method of claim 11, wherein the average angle is weighted based on a standard deviation for distance values received from each of the one or more ultrasonic sensors.
 13. The method of claim 12, wherein an error interval and a confidence level is determined based on the standard deviation for the distance values received from each of the one or more ultrasonic sensors.
 14. The method of claim 8, wherein the one or more ultrasonic sensors comprise an ultrasonic sensor oriented to illuminate the frontend of the trailer at a perpendicular angle when the trailer angle is not zero degrees.
 15. The method of claim 8, wherein the one or more ultrasonic sensors are arranged in a two-dimensional pattern in a plane that is perpendicular to an axis between the vehicle and the trailer.
 16. A non-transitory computer readable medium storing executable instructions that when executed by at least one processor perform at least: receiving, any of vehicle speed information from a vehicle speed sensor, steering angle information from a steering angle sensor, or both vehicle speed information from the vehicle speed sensor and the steering angle information from the steering angle sensor; receiving, from each of one or more ultrasonic sensors, a distance between each ultrasonic sensor and a front-end of the trailer attached to the vehicle; determining one or more angles, each angle corresponding to a distance received from the one or more ultrasonic sensors, wherein each angle is between the vehicle and the trailer, and wherein a trailer angle is determined from the one or more angles, wherein a first angle corresponding to a first ultrasonic sensor is determined based on one or more geometrical relationships between a position of the first ultrasonic sensor and the front-end of the trailer, wherein the first angle is determined from: a first neutral distance between the first ultrasonic sensor and the front-end of the trailer when the trailer is in line with the vehicle, a first angled distance when the trailer is angled with respect to the vehicle, and a first offset distance between the center of the first ultrasonic sensor and the center of the vehicle, wherein the first neutral distance is determined when a steering angle of the vehicle is about zero degrees and the vehicle is travelling at about 10 kilometers per hour or more; and sending the trailer angle to a vehicle dynamics controller, electronic stability controller, or vehicle stability controller of the trailer.
 17. The non-transitory computer readable medium of claim 16, wherein the first neutral distance is averaged or filtered over a period of time.
 18. The non-transitory computer readable medium of claim 17, wherein the one or more ultrasonic sensors comprise an ultrasonic sensor oriented to illuminate the front-end of the trailer at a perpendicular angle when the trailer angle is not zero degrees.
 19. The non-transitory computer readable medium of claim 18, wherein the one or more ultrasonic sensors are arranged in a two-dimensional pattern in a plane that is perpendicular to an axis between the vehicle and the trailer.
 20. The non-transitory computer readable medium of claim 17, wherein the executable instructions further cause at least: determining the first angle corresponding to a first ultrasonic sensor as: A1=arctangent((D1-1−D1-2)/Dis1), wherein A1 is the first angle between the vehicle and the trailer, wherein D1-1 is a first neutral distance between the first ultrasonic sensor and the frontend of the trailer, wherein the first neutral distance is determined when the trailer is in line with the vehicle, wherein D1-2 is a first angled distance between the first ultrasonic sensor and the frontend of the trailer, wherein the first angled distance is determined when the trailer is angled with respect to the vehicle, and wherein Dis1 is a first offset distance, and wherein the first offset distance is between the center of the first ultrasonic sensor and the center of the vehicle. 